<?php

include_once(dirname(__FILE__)."\Conexao.php");
include_once(dirname(__FILE__)."\UnidadeDAO.php");
include_once(dirname(dirname(__FILE__))."\classes\Familia.php");

/**
 * Classe FamiliaDAO
 *
 * @author Falci
 * @package dao
 */
class FamiliaDAO {

    public function  __construct() {
        new Conexao();
    }

    public function inserir($familia){
        $sql = "INSERT INTO familia VALUES(0,".$familia->getFamilia().",".$familia->getUnidade()->getId().",'".$familia->getNome()."',1);";
        return mysql_query($sql);
    }

    public function alterar($familia){
        $sql = "UPDATE familia SET familia=".$familia->getFamilia().", unidade=".$familia->getUnidade()->getId().", nome='".$familia->getNome()."' WHERE id=".$familia->getId().";";
        return mysql_query($sql);
    }

    public function excluir($familia){
        $sql = "UPDATE familia SET status=0 WHERE id=".$familia->getId().";";
        return mysql_query($sql);
    }

    public function listar(){
        $array = Array();
        $query = mysql_query("SELECT * FROM familia WHERE status=1 ORDER BY nome");
        while ($row = mysql_fetch_object($query)) {
            $familia = new Familia;
            $unidade = new UnidadeDAO;
            $familia->setId($row->id);
            $familia->setFamilia($row->familia);
            $familia->setUnidade($unidade->buscaPorId($row->unidade));
            $familia->setNome($row->nome);
            $array []= $familia;
        }

        return $array;
    }

    public function buscaPorId($id){
        $familia = new Familia;
        $query = mysql_query("SELECT * FROM familia WHERE id=$id ORDER BY nome");
        if(mysql_num_rows($query) == 0) return false;

        while ($row = mysql_fetch_object($query)) {
            $unidade = new UnidadeDAO;
            $familia->setId($row->id);
            $familia->setFamilia($row->familia);
            $familia->setUnidade($unidade->buscaPorId($row->unidade));
            $familia->setNome($row->nome);
            $familia->setStatus($row->status);
        }

        return $familia;
    }

    public function totalRegistros(){
        $query = mysql_query("SELECT COUNT(id) FROM familia WHERE status=1;");
        return mysql_result($query, 0);
    }

    public function listarPag($pagina=1){
        global $_CFG;
        $primeiro = $pagina * $_CFG['ppp'] - $_CFG['ppp'];
        $sql = "SELECT f.id,f.familia,u.sigla um,f.nome FROM familia f, unidade u WHERE f.status=1 AND f.unidade=u.id ORDER BY f.nome LIMIT $primeiro,$_CFG[ppp];";
        $query = mysql_query($sql);
        $saida = Array();

        while ($row = mysql_fetch_array($query)) {
            $saida []= $row;
        }

        return $saida;
    }

    public function pesquisar($q){
        global $_CFG;
        $sql = "SELECT f.id,f.familia,u.sigla um,f.nome FROM familia f, unidade u WHERE f.status=1 AND f.unidade=u.id AND f.nome like '%$q%' ORDER BY f.nome LIMIT ".($_CFG['maxResult']+1).";";
        $query = mysql_query($sql);
        $saida = Array();

        while ($row = mysql_fetch_array($query)) {
            $saida []= $row;
        }

        return $saida;
    }

    public function getCombo($default=0,$more=""){
        $sql = mysql_query("SELECT id,nome FROM familia WHERE status=1 ORDER BY nome;");
        $out = "<select name=\"familia\" $more>\r\n";
        while($r = mysql_fetch_assoc($sql)){
            if($r['id'] == $default){
                $out .= "    <option value=\"".$r['id']."\" selected=\"selected\">".$r['nome']."</option>\r\n";
            } else {
                $out .= "    <option value=\"".$r['id']."\">".$r['nome']."</option>\r\n";
            }
        }
        $out .= "</select>\r\n";
        return $out;
    }
}
?>